package com.simple.llm.domain.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Data
@ApiModel
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class NormalChatDTO implements Serializable {
    @ApiModelProperty(value = "温度值，默认0.8")
    private Float temperature;
    @ApiModelProperty(value = "采样阈值，默认0.8")
    private Float topP;
    @ApiModelProperty(value = "对话场景/描述，将用于使用记录和扣费", required = true)
    private String desc;
    @ApiModelProperty(value = "使用的用户标识，将用于使用记录和扣费", required = true)
    private String createUser;
    @ApiModelProperty(value = "使用的模型名，为空时将使用默认模型")
    private String modelName;
    @ApiModelProperty(value = "生成的最大token数，默认1000")
    private Integer maxTokens;
    @ApiModelProperty(value = "对话内容(包含历史对话)", required = true)
    private List<LLMMessageDTO> messages;
    @ApiModelProperty(value = "响应格式化，默认为text")
    private String responseFormat;
    @ApiModelProperty(value = "请求创建时间")
    private Date createDate;
}
